Image processing apparatus and method

ABSTRACT

When one viewing condition parameter is applied to all pixels, a visual effect between a single color and a background expressed on a rasterized image cannot be reflected on a color matching result. To prevent this, when color matching using a human color appearance model is to be performed, the distance between an image and a viewer and the resolution of the image are input. On the basis of the input distance and resolution, a stimulus region, adjacent region, and background region based on a plurality of field angles (e.g., 2°, 4°, and 10°) for a pixel of interest on the image are defined, thereby determining a viewing condition parameter and performing color matching.

FIELD OF THE INVENTION

[0001] The present invention relates to an image processing apparatus and method and, more particularly, to color matching under different viewing conditions.

BACKGROUND OF THE INVENTION

[0002] A human color appearance model is so designed as to allow correctly predicting how a color is seen when a color chip having a field angle of 2° is given. FIG. 1 is a view showing the definition of a human visual field. A CIE 1931 standard colorimetric observer is applicable to the range of a field angle of 1° to 4°. Therefore, this applicable region is divided into a stimulus region having a field angle of 2° or less, an adjacent region having a field angle of 4° or less, a background region from the adjacent region to a region having a field angle of 10°, and a surrounding region around this background region. Also, a visual field region including all these regions is an adaptation region.

[0003] CIE CAM97s is a representative color appearance model, and in this model the following can be set as viewing condition parameters.

[0004] La: Absolute luminance [cd/m²] in adaptation region

[0005] Normally, 20% of white point absolute luminance in adaptation region

[0006] XYZ: Relative XYZ value of color chip

[0007] XwYwZw: Relative XYZ value of white point

[0008] Yb: Relative luminance of background region Surround conditions:

[0009] Average Surround (larger than a field angle of 4° of a color chip)

[0010] Average Surround (equal to or smaller than a field angle of 4° of a color chip)

[0011] Dim Surround

[0012] Dark Surround

[0013] Cut-Sheet Transparencies (on viewing box)

[0014] The surround condition is Average if the relative luminance in the surrounding region is 20% or less of a white point in the adaptation region, Dim if this value is smaller than 20%, and Dark if this value is almost 0%.

[0015] A color appearance model is derived from experimental results using monochromatic color chips. Hence, no method has been established which determines viewing condition parameters applicable to an image having a plurality of colors. That is, the relative luminance Yb is set at 20% because neutral gray is 20% of a white point.

[0016] Also, when a color appearance model is applied to an image, one viewing condition parameter is generally used for all pixels.

[0017] When one viewing condition parameter is thus applied to all pixels, a visual effect between a single color and a background expressed on a rasterized image cannot be reflected on a color matching result.

[0018] Furthermore, since an average viewing condition parameter is evenly applied to an image, no color matching result having high accuracy can be locally obtained.

SUMMARY OF THE INVENTION

[0019] The present invention has been made to individually or simultaneously solve the above problems, and has as its object to reflect a local visual effect between a single color and a background expressed on an image onto a color matching result.

[0020] It is another object of the present invention to obtain an optimum viewing condition parameter of an image at a high speed.

[0021] It is still another object of the present invention to execute processing of obtaining an image correction condition for a pixel of interest at a high speed by analyzing an adjacent region of the pixel of interest.

[0022] In order to achieve the above objects, a preferred embodiment of the present invention discloses an image processing method of analyzing a pixel value of a pixel of interest and pixel values in an adjacent region of the pixel of interest, the adjacent region being formed by neighboring pixels of the pixel of interest, and setting an image correction condition, comprising the steps of: dividing an adjacent region of a first pixel of interest into a plurality of regions formed from pixel values in a scan direction and in a direction perpendicular to the scan direction, analyzing the pixel values in each of the divided regions, and holding an analysis result for each of the divided regions; obtaining an image correction condition for the first pixel of interest from the analysis result of each divided region belonging to the adjacent region of the first pixel of interest and correcting the first pixel of interest using the image correction condition; in order to obtain an image correction condition for a second pixel of interest moved from the first pixel of interest in the scan direction, executing analysis for a difference region between the first adjacent region and an adjacent region of the second pixel of interest on the basis of pixel values in a region which belongs to the difference region and is formed from pixel values in the scan direction and in the direction perpendicular to the scan direction, and holding an analysis result; and obtaining the correction condition for the second pixel of interest from the analysis result of the region belonging to the adjacent region of the second pixel of interest and correcting the second pixel of interest using the image correction condition.

[0023] Also, an image processing apparatus for performing color matching by using a human color appearance model, comprising: an input section, arranged to input a distance between an image and a viewer, and a resolution of the image; and a processor, arranged to define regions based on a plurality of field angles with respect to a pixel of interest on the image, on the basis of the input distance and resolution, thereby performing color matching, wherein the processor performs arithmetic operation for a difference region between the regions based on the plurality of field angles, which are generated by moving the pixel of interest, to obtain an arithmetic result for the regions based on the plurality of field angles after movement of the pixel of interest is disclosed.

[0024] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025]FIG. 1 is a conceptual view showing the definition of a human visual field;

[0026]FIG. 2 is a view for explaining the concept of color matching by CAM;

[0027]FIG. 3 is a flow chart showing the process configuration of the first embodiment;

[0028]FIG. 4 is a view for explaining the distance from a monitor screen or a printed product to a viewer;

[0029]FIG. 5 is a view for explaining a method of calculating the diameters of a stimulus region, adjacent region, and background region from a distance D between an image and a viewer;

[0030]FIG. 6 is a view showing a pixel of interest in an image and regions corresponding to different field angles;

[0031]FIG. 7 is a view showing lack of pixels in processing near the edge of an image;

[0032]FIG. 8 is a flow chart showing the process configuration of the second embodiment;

[0033]FIG. 9 is a view showing an arrangement in which a distance measurement sensor is placed on a monitor or a viewing box;

[0034]FIG. 10 is a view showing a user interface for setting relative luminance values for lacking pixels in processing near the edge of an image;

[0035]FIG. 11 is a conceptual view showing increasing the speed of detection of Ymax and Ymin in an adjacent region;

[0036]FIG. 12 is a conceptual view showing increasing the speed of calculation of an average relative luminance Yb in a background region; and

[0037]FIG. 13 is a view showing rectangles containing objects.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0038] Image processing apparatuses according to embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0039] First Embodiment

[0040] [Concept of Color Matching]

[0041]FIG. 2 is a view for explaining the concept of color matching.

[0042] In FIG. 2, reference numeral 11 denotes a conversion matrix or conversion lookup table (LUT) for transforming data depending on an input device into device-independent color space data which is based on the white point reference of environmental light at the input side; 12, a color appearance model transform unit (CAM) for transforming the data obtained from the conversion LUT 11 into a human color appearance space JCh or QMh; 13, JCh (or JCH) which is a color appearance space relative to the reference white point of environmental light; 14, QMh (or QMH) which is an absolute color appearance space which changes its size in accordance with an illuminance level; 15, a color appearance model inverse transform unit for transforming the human color appearance space JCh or QMh into device-independent color space data based on the reference white point of environmental light at the output side; 16, a conversion LUT for transforming the data obtain from the inverse transform unit 15 into color space data depending on an output device; 17, a viewing condition parameter on the input side; and 18, a viewing condition parameter on the output side.

[0043] Note that the input and output devices are not limited to color spaces such as RGB and CMY(K), but can be arbitrary image input/output devices such as a digital still camera, digital video camera, monitor, and printer. Note also that a computer apparatus such as a personal computer is applicable to an image processing apparatus for executing color matching itself, but this function can also be imparted to the input/output devices.

[0044] Generally, a white point of environmental light under viewing conditions is different from a white point of a standard light source when a color chip such as a color target or color patch is measured. For example, a standard light source used in colorimetry is D50 or D65. However, environmental light when an image is actually viewed is not restricted to D50 or D65 in a light booth but is often illuminating light such as an incandescent lamp or fluorescent lamp or mixed light of illuminating light and sun light. In the following explanation, the light source characteristics of environmental light under viewing conditions are D50, D65, or D93 for the sake of simplicity. In practice, however, the XYZ value of a white point on a medium is set as a white point.

[0045] When CIE CAM97s, for example, is applied as a color appearance model, the viewing condition parameter 17 on the input side and the viewing condition parameter 18 on the output side are as follows.

[0046] La: Absolute luminance [cd/m²] in adaptation region

[0047] XYZ: Relative XYZ value of color chip

[0048] XwYwZw: Relative XYZ value of white point

[0049] Yb: Relative luminance of background region Surround conditions:

[0050] Average Surround (average, larger than a field angle of 4° of a color chip) Average Surround (average, equal to or smaller than a field angle of 4° of a color chip)

[0051] Dim Surround (dim)

[0052] Dark Surround (dark)

[0053] Cut-Sheet Transparencies (on viewing box)

[0054] Input device-dependent image data is transformed into a relative XYZ value under environmental light at the input side by the transformation LUT 11.

[0055] [Process Configuration]

[0056]FIG. 3 is a flow chart showing the process configuration of this embodiment. Although a practical hardware arrangement for implementing the process configuration will not be explained, this process configuration is implemented by supplying a program corresponding to the configuration to a personal computer or the like.

[0057] First, a user inputs a distance D between an image and a viewer (S21). As shown in FIG. 4, the distance between a monitor screen or a printed product and a viewer is 0.4 to 0.7 m. However, a given distance D can be set by user input. In this embodiment, D=0.5 m is used as an example. Note that the set value of the distance D between an image and a viewer on the input side can be different from that on the output side.

[0058] Next, the diameters of a stimulus region, adjacent region, and background region are calculated from the distance D between an image and a viewer. As FIG. 5 shows, the line of sight and the surface of an image presumably intersect at a substantially right angle. Therefore, a diameter Da of the stimulus region having a field angle of 2° or less, a diameter Dp of the adjacent region having a field angle of 4° or less, and a diameter Db of the background region having a field angle of 10° or less are as follows.

[0059] Da=2×D×tan(1°)

[0060] Dp=2×D×tan(2°)

[0061] Db=2×D×tan(5°)

[0062] If D=0.5 m, Da=17 mm, Dp=35 mm, and Db=87 mm.

[0063] The user inputs resolution R (pixels/inch) of an image (S23). For example, this resolution R is 72 ppi for an image displayed on a monitor and 400 ppi, which is a printer resolution, for a printout image. In practice, the resolution R depends upon a resolution or a zoom ratio designated by an application or a device driver. Note that this resolution has the same value at the input and output sides.

[0064] Subsequently, the numbers of pixels on the image corresponding to the stimulus pixel region, adjacent pixel region, and background pixel region are calculated (S24). The numbers Dap, Dpp, and Dbp of pixels in the diameters of the stimulus region, adjacent region, and background region, respectively, are as follows.

[0065] Dap=Da×R/0.0254

[0066] Dpp=Dp×R/0.0254

[0067] Dbp=Db×R/0.0254

[0068] If D=0.5 m and R=72 ppi, Dap=48.2, Dpp=99.0, and Dbp=246.6. For simplicity, as shown in FIG. 6, assume a square region having 2n+1 pixels (n is a positive integer) on each side. Length L of one side of this square region is calculated such that the area of a circular region and the area of the square region are equal. Since L={square root}{square root over ( )}π×D/2=0.886×D, the side lengths of the individual regions are Lap=43 pixels, Lpp=87 pixels, and Lbp=219 pixels. If D on the input side and D on the output side are different, it is only necessary to calculate the number of pixels corresponding to the length of one side of each region independently for the input and output sides.

[0069] The user then inputs white point absolute luminance Law [cd/m²] of the adaptation region and absolute luminance Ls [cd/m²] of the surrounding region on the basis of values indicated by a meter and the like (S25).

[0070] The white point absolute luminance of the adaptation region can be calculated by the absolute luminance [cd/m²] of a monitor white point in the case of a monitor, and by (illuminance [lux]/π on a printed product) in the case of a printed product. The absolute luminance of the surrounding region is strictly the absolute luminance of a region having a field angle larger than 10° with respect to a pixel of interest. For the sake of simplicity, however, this absolute luminance is in the case of a monitor the ambient absolute luminance of the monitor, and in the case of a printed product the ambient absolute luminance of the printed product. Note that different values can be set as each absolute luminance in accordance with the viewing conditions on the input and output sides.

[0071] Subsequently, the surround conditions are determined by, e.g., the following conditions (S26).

[0072] If 0.2≦Ls/Law, Average Surround

[0073] If 0.06<Ls/Law <0.2, Dim Surround

[0074] If Ls/Law≦0.06, Dark Surround

[0075] If Ls and Law on the input side are different from those on the output side, the surround conditions are independently determined on the input and output sides.

[0076] Next, a pixel of interest with respect to an input image is set (S27). For example, the following processing is performed for all pixels from the upper left to the lower right of the image.

[0077] First, whether the surround condition on the input or output side is Average Surround is checked (S28). If the condition is Average Surround, uniformity Sp in the adjacent region is calculated (S29).

[0078] That is, in the adjacent region (including the pixel of interest and the stimulus region) having the side length Lpp, maximum and minimum Y values Ymax and Ymin are calculated from the XYZ value of each pixel. Uniformity Sp=(Ymax−Ymin)/100 is then calculated. If, for example, Sp≦0.01, this adjacent region is regarded as a uniform region. If the adjacent region is considered to be a uniform region, Average Surround (larger than a field angle of 4° of a color chip) is applied as the surround condition; if the adjacent region is nonuniform, Average Surround (equal to or smaller than a field angle of 4° of a color chip) is applied as the surround condition. Note that if the distance D at the input side is different from the distance D at the output side, the ranges of the adjacent region are also different, so the calculations are independently performed on the input and output sides.

[0079] Subsequently, in the background region (not including the pixel of interest, stimulus region, and adjacent region) having the side length Lbp as shown in FIG. 5, average relative luminance Yb of Y is calculated from the XYZ value of each pixel (S30). If the distance D at the input side is different from the distance D at the output side, the ranges of the adjacent region are also different, so the calculation is independently performed on the input and output sides.

[0080] Next, viewing condition parameters on the input and output sides are set (S31). For example, if the input side is an sRGB monitor (D65, Law=80 [cd/m²], Ls=4.074 [cd/m²]), the output side is a typical office environment (D50, Law=238.7 [cd/m²], Ls=47.74 [cd/m²]), the distance D between an image and a viewer is 0.5 m on both the input and output sides, and the resolution is 72 ppi, the viewing condition parameters are as follows.

[0081] Input-side viewing condition parameters:

[0082] La=Law×0.2=80×0.2 16 [cd/m²]

[0083] XwYwZw=D65

[0084] Yb=average Y of input-side background region (one side=219 pixels) with respect to each pixel of interest

[0085] Surround condition: Dark Surround (Ls/Law=4.074/80 0.051)

[0086] Output-side viewing condition parameters:

[0087] La=Law×0.2=238.7×0.2=47.74 [cd/m²]

[0088] XwYwZw=D50

[0089] Yb=average Y of output-side background region (one side=219 pixels) with respect to each pixel of interest

[0090] Surround condition: Average Surround

[0091] (Ls/Law=47.74/238.7=0.2)

[0092] The average relative luminance Yb on the output side should be calculated from the XYZ value at the output side. However, the XYZ value on the output side is unpresumable in this stage, so the average relative luminance Yb at the output side is approximated by using the XYZ value on the input side. Also, the surround condition on the output side is Average Surround. Therefore, processing similar to step S29 is performed; the viewing condition parameter “larger than a field angle of 4° of a color chip” or “equal to or smaller than a field angle of 4° of a color chip” is set in accordance with the uniformity of a partial image in the adjacent region.

[0093] Finally, color matching is performed by the CAM by using the viewing condition parameters at the input and output sides (S32), thereby calculating the output-side XYZ value corresponding to the input-side XYZ value. Steps S27 to S32 are repeated until it is determined in step S33 that analogous processing is completely performed for all pixels in the image. In this way, color matching is performed for the whole image.

[0094] [Processing of Edge of Image]

[0095] If a pixel of interest is set near the edge of an image as shown in FIG. 7, pixels in the stimulus region and the adjacent region are omitted in the process of step S29. Likewise, pixels in the background region are omitted in step S30. In a case like this, Ymax, Ymin, and Yb are obtained from effective pixels without processing these omitted pixels.

[0096] As another method of preventing a lowering of the processing speed caused by determination of the presence/absence of omission of pixels near the edge of an image, a value such as Y=100, Y=20, or the relative luminance of the surrounding region can be set for an omitted pixel (as an omitted pixel) in accordance with the frame or the ambient situation of an assumed image. In this manner, processing can be performed without any omitted pixels.

[0097] As described above, the first embodiment can achieve the following effects.

[0098] (1) By using the distance D between an image and a viewer and the resolution R of the image, regions having different field angles (e.g., 2°, 4°, and 10°) with respect to a pixel of interest can be defined on the image.

[0099] (2) A circular region with respect to a field angle is approximated to a square region in an image. This can increase the speed of processing in that region.

[0100] (3) By calculating the uniformity Sp at a field angle of 4° or less in an image, it is possible to determine which of “larger than a field angle of 4° of a color chip” or “equal to or smaller than a field angle of 4°of a color chip” is to be used as a viewing condition parameter of Average Surround.

[0101] (4) By calculating the average relative luminance Yb of the background region with respect to a pixel of interest in an image, this value can be set as a viewing condition parameter for the pixel of interest.

[0102] (5) In processing near the edge of an image, a specific value (e.g., Y=100, Y=20, or the relative luminance of the surrounding region) is set for omitted pixels in the adjacent region and the background region. This can increase the speed of the processing near the edge.

[0103] Second Embodiment

[0104] An image processing apparatus of the second embodiment according to the present invention will be described below. In the second embodiment, the same reference numerals as in the first embodiment denote the same parts, and a detailed description thereof will be omitted.

[0105] In the first embodiment, an image object or a rasterized object has been primarily explained. In the second embodiment, color matching mentioned above is applied to a graphical object before rasterization.

[0106] Average relative luminance Yb of the background region can be obtained by analyzing the order of overlap of objects, and referring to colors in the objects and the colors of objects in the background in accordance with the sizes of the objects. A method of determining whether “larger than a field angle of 4° of a color chip” in the case of Average Surround will be explained as an example.

[0107]FIG. 8 is a flow chart showing the process configuration of the second embodiment.

[0108] First, a vector image to be displayed on a monitor or printed out is input (S71), and the type of the input object is detected (S72 to S75). If the input object is not detected as any object, the process is terminated by displaying an error message (S76).

[0109] If Input Object is Text Object or Closed Loop Object

[0110] In this case, processes corresponding to steps S21 to S26 shown in FIG. 3 are performed in initialization (S77) to predetermine a region (adjacent region) corresponding to a field angle of 4° and a surround condition.

[0111] Subsequently, whether the surround condition is Average Surround is checked (S78). If the condition is Average Surround, a rectangle containing the object is calculated for simplification, and whether this rectangle is larger than the region having a field angle of 4° is checked. That is, a rectangle containing the object as shown in FIG. 13 is extracted (S79). This rectangle containing the object is compared with a square (equivalent to Lpp=87 pixels if D=0.5 m and R=72 ppi) having a field angle of 4°, thereby optimizing a viewing condition parameter for the object (S80).

[0112] More specifically, in the process of step S80, if both longitudinal and lateral sides of the rectangle are larger than Lpp, it is determined that “larger than a field angle of 4°”. If one of the longitudinal and lateral sides is shorter, the analysis is further advanced. If the short side of the rectangle≧0.8×Lpp and the area is larger than the region (Lpp/m²) having a field angle of 4°, it is determined that “larger than a field angle of 4°”; if not, it is determined that “equal to or smaller than a field angle of 4°”. Note that this determination is applicable only when the text or the closed loop is painted with a single color. To increase the accuracy of the determination, it is also possible to calculate the area (occupied ratio) of a region actually painted in the rectangular region containing the object.

[0113] If Input Object is Image Object

[0114] In this case, a viewing condition parameter is optimized by processes equivalent to steps S21 to S31 shown in FIG. 3 (S81). If Input Object is Line Object

[0115] When this is the case, the possibility of “larger than a field angle of 4° of a color chip” is low. Therefore, the process of optimizing a viewing condition parameter is skipped.

[0116] When a viewing condition parameter for each object is set by the above processing, color matching by a CAM is performed (S82). The processes from steps S72 to S82 are repeated until it is determined in step S83 that all objects are completely processed. In this way, color matching of the whole vector image is completed.

[0117] By thus detecting objects, processing for a field angle can be performed not only for a raster image but also for a vector image. Third Embodiment An image processing apparatus of the third embodiment according to the present invention will be described below. In the third embodiment, the same reference numerals as in the first embodiment denote the same parts, and a detailed description thereof will be omitted.

[0118] In step S21 of FIG. 3, a user inputs a distance D between an image and a viewer. This process can be automated by the use of a distance measurement sensor. As an example, a distance measurement sensor which measures a distance on the basis of the reflection time of infrared radiation is placed on a monitor or a viewing box (FIG. 9).

[0119] If a measurement sensor is difficult to install or is not connected to a host, the distance D can be manually set. It is of course also possible to input a numerical value (distance) displayed on a measurement sensor when the sensor is offline (not connected to a host machine).

[0120] Furthermore, in processing near the edge of an image, a relative luminance value for an omitted pixel can be set by a user interface shown in FIG. 10. Although a default value is 20%, 100% can be set when the background is white, and an ambient relative luminance value can be set for a frameless image. If an actual relative luminance value is obtained, a custom value can also be input.

[0121] As described above, the distance D between a user and an original, monitor, or printed product can be accurately set by the use of a distance measurement sensor.

[0122] Modification of the First and Second Embodiments

[0123] In each of the above embodiments, the magnification of an image is not changed. However, a viewing condition parameter can also be set in accordance with zoom magnification Z. For example, if the sides of the stimulus region, adjacent region, and background region with respect to a direct image are Lap, Lpp, and Lbp, respectively, when the distance D between an image and a viewer and the resolution R of the image are given, the sides of these regions with respect to the zoom magnification Z are given as follows on the original image if the distance D is fixed. By using these values in the aforementioned processing, the processing can be controlled even when the magnification of the image is changed.

[0124] Lap′=Lap×(1/Z)

[0125] Lpp′=Lpp′(1/Z)

[0126] Lbp′=Lbp×(1/Z)

[0127] Fourth Embodiment

[0128] An image processing apparatus of the fourth embodiment according to the present invention will be described below. In the fourth embodiment, the same reference numerals as in the first embodiment denote the same parts, and a detailed description thereof will be omitted.

[0129] In the fourth embodiment, processing of detecting Ymax and Ymin and processing of calculating average relative luminance Yb of a background region in the above-described embodiments are executed at a high speed.

[0130] [Detection of Ymax and Ymin in Adjacent Region]

[0131] For processing of calculating uniformity Sp in an adjacent region in an image (step S29 in FIG. 3), whether a field angle of 4° or less can evenly be approximated to one color chip is determined. That is, calculation need not always be performed using a relative luminance Y.

[0132] For example, Rmax, Rmin, Gmax, Gmin, Bmax, and Bmin are obtained in an adjacent region in association with the channels of an RGB image, and uniformities in the channels, i.e., Spr=(Rmax−Rmin)/100, Spg=(Gmax−Gmin)/100, and Spb=(Bmax−Bmin)/100 fall within a threshold value, the adjacent region can be regarded as a uniform region. In this embodiment, an example in which Ymax and Ymin are detected on the basis of luminance information while neglecting chromaticity information for the sake of simplicity will be described.

[0133] The relative luminance of each pixel is expressed by Y(i,j).

[0134] First, for an adjacent region with respect to the first pixel of interest, Ymax and Ymin are calculated in the following manner and stored in a memory as lists.

Ymax(*,j)=MAX{Y(1,j), Y(2,j), . . . , Y(i,j), . . . , Y(Lpp,j)}

Ymin(*,j)=MIN{Y(1,j), Y(2,j), . . . , Y(i,j), . . . , Y(Lpp,j)}

for 1≦j≦Lpp

[0135] Subsequently, Ymax and Ymin for the first pixel of interest are calculated by

Ymax(*,*)=MAX{Ymax(*,1), Ymax(*,2), . . . , Ymax(*,j), . . . , Ymax(*,Lpp)}

Ymin(*,*)=MIN{Ymin(*,1), Ymin(*,2), . . . . Ymin(*,j), . . . , Ymin(*,Lpp)}

[0136] However, if the above arithmetic operations are applied to each pixel of interest, the quantity of calculation impractically becomes enormous. Hence, from the second pixel of interest, arithmetic operations are performed only for a difference region as shown in FIG. 11 to increase the processing speed.

[0137] When processing shifts to the second pixel of interest, Ymax(*,1) falls outside the adjacent region and becomes unnecessary. Hence, Ymax(*,1) is deleted from the list of Lpp luminances Ymax(*,j) stored in the memory, and subsequent Ymax(*,2) to Ymax(*,Lpp) are updated to Ymax(*,1) to Ymax(*,Lpp-1). Similarly, Ymin(*,1) is also deleted from the list, and Ymin(*,2) and subsequent values are updated. Next, for the second pixel of interest, Ymax(*,Lpp) and Ymin(*,Lpp) are calculated for the hatched region shown in FIG. 11 and added to the lists.

[0138] Like the case of the first pixel of interest, Ymax and Ymin are calculated to obtain Ymax and Ymin for the second pixel of interest.

Ymax(*,*)=MAX{Ymax(*,1), Ymax(*,2), . . . , Ymax(*,j), . . . , Ymax(*,Lpp)}

Ymin(*,*)=MIN{Ymin(*,1), Ymin(*,2), . . . , Ymin(*,j), . . . , Ymin(*,Lpp)}

[0139] The same arithmetic operations as described above are sequentially performed and repeated until the pixel of interest reaches the end of the scan line. For the next scan line as well, the arithmetic operations are performed for an entire adjacent region about the first pixel of interest, and only for the difference in relation to the second and subsequent pixels of interest.

[0140] As the values of omitted pixels in edge-side processing, values set by the above-described method are used.

[0141] [Calculation of Average Relative Luminance Yb in Background Region]

[0142] Increasing the speed of processing of calculating the average relative luminance Yb in a background region of an image (step S30 in FIG. 3) will be described next.

[0143] First, for the first pixel of interest, the average relative luminance Yb in the background region (including no adjacent region) is obtained. Let Nbp be the total number of pixels in the background region and Npp be the total number of pixels in the adjacent region. Then, the average relative luminance Yb in the background region can be obtained from the difference between the “sum of relative luminances of pixels in the background region” and the “sum of relative luminances of pixels in the adjacent region”.

Yb=1/(Nbp−Npp)×{Ybp(*,*)−ΣYpp(*,*)}

[0144] where Ybp(*,*): sum of relative luminances of pixels in background region

[0145] Ypp(*,*): sum of relative luminances of pixels in adjacent region

Ybp(*,j)=Σ{Y(1,j),Y(2,j), . . ., Y(i,j), . . . , Y(Lbp,j)}

Ybp(*,*)=Σ{Y(*,1) Y(*,2), . . . , Y(*,j), . . . , Y(*,Lbp)}

Ypp(*,j)=Σ{Y(1,j), Y(2,j), . . . , Y(i,j), . . . , Y(Lpp,j)}

Ypp(*,*)=Σ{Y(*,1), Y(*,2), . . . , Y(*,j), . . . , Y(*,Lpp)}

[0146] As in detection of Ymax and Ymin in the adjacent region, if the above arithmetic operations are applied to each pixel of interest, the quantity of calculation impractically becomes enormous. Hence, from the second pixel of interest, arithmetic operations are performed only for a difference region as shown in FIG. 12 to increase the processing speed.

[0147] When processing shifts to the second pixel of interest, Ybp(*,1) falls outside the background region. Hence, Ybp(*,1) is deleted from the list of Lbp Ybp(*,j) stored in the memory, and subsequent Ybp(*,2) to Ybp(*,Lbp) are updated to Ybp(*,1) to Ybp(*,Lbp-1). Similarly, Ypp(*,1) is also deleted from the list, and Ypp(*,2) and subsequent values are updated. Next, for the second pixel of interest, Ybp(*,Lbp) and Ypp(*,Lpp) are calculated for the hatched region shown in FIG. 12 and added to the lists.

[0148] Like the case of the first pixel of interest, Ybp(*,*) and Ypp(*,*) are calculated to obtain the average relative luminance Yb in the background region of the second pixel of interest (see equations below).

Ybp(*,*)=Σ{Y(*,1),Y(*,2), . . . , Y(*,j), . . . , Y(*,Lbp)}

Ypp(*,*)=Σ{Y(*,1), Y(*,2), . . . , Y(*,j), . . ., Y(*,Lpp)}

Yb=1/(Nbp−Npp)×{Ybp(*,*)−Ypp(*,*)}

[0149] The same arithmetic operations as described above are sequentially performed and repeated until the pixel of interest reaches the end of the scan line. For the next scan line, the calculations are performed for an entire background region and entire adjacent region about the first pixel of interest, and only for the difference in relation to the second and subsequent pixels of interest.

[0150] As the values of omitted pixels in edge-side processing, values set by the above-described method are used.

[0151] As described above, in the fourth embodiment, the adjacent region of a pixel of interest, which is formed from the pixel of interest and neighboring pixels, is divided in each direction (i) perpendicular to the scan direction (j), and an analysis result is held. When the pixel of interest moves in the scan direction, processing is executed only for a difference region. The adjacent region of the pixel of interest is analyzed using the held result. That is, by using differential arithmetic operations, optimum viewing condition parameters for an image can be obtained at a high speed.

[0152] In the above embodiment, subtractions are used in using viewing condition parameters. The subtractions can also be applied to another image correction if image condition parameters are obtained by analyzing the pixel values in an adjacent region. The analysis can be applied not only to maximum and minimum values but also to any other values such as an average value or cumulative value.

[0153] As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the claims.

[0154] The present invention can be applied to a system constituted by a plurality of devices (e.g., host computer, interface, reader, printer) or to an apparatus comprising a single device (e.g., copy machine, facsimile).

[0155] Further, the object of the present invention can be also achieved by providing a storage medium storing program codes for performing the aforesaid processes to a system or an apparatus, reading the program codes with a computer (e.g., CPU, MPU) of the system or apparatus from the storage medium, then executing the program.

[0156] In this case, the program codes read from the storage medium realize the functions according to the embodiments, and the storage medium storing the program codes constitutes the invention.

[0157] Further, the storage medium, such as a floppy disk, a hard disk, an optical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape, a non-volatile type memory card, and ROM can be used for providing the program codes.

[0158] Furthermore, besides aforesaid functions according to the above embodiments are realized by executing the program codes which are read by a computer, the present invention includes a case where an OS (operating system) or the like working on the computer performs a part or entire processes in accordance with designations of the program codes and realizes functions according to the above embodiments.

[0159] Furthermore, the present invention also includes a case where, after the program codes read from the storage medium are written in a function expansion card which is inserted into the computer or in a memory provided in a function expansion unit which is connected to the computer, CPU or the like contained in the function expansion card or unit performs a part or entire process in accordance with designations of the program codes and realizes functions of the above embodiments. 

What is claimed is:
 1. An image processing method of analyzing a pixel value of a pixel of interest and pixel values in an adjacent region of the pixel of interest, the adjacent region being formed by neighboring pixels of the pixel of interest, and setting an image correction condition, comprising the steps of: dividing an adjacent region of a first pixel of interest into a plurality of regions formed from pixel values in a scan direction and in a direction perpendicular to the scan direction, analyzing the pixel values in each of the divided regions, and holding an analysis result for each of the divided regions; obtaining an image correction condition for the first pixel of interest from the analysis result of each divided region belonging to the adjacent region of the first pixel of interest and correcting the first pixel of interest using the image correction condition; in order to obtain an image correction condition for a second pixel of interest moved from the first pixel of interest in the scan direction, executing analysis for a difference region between the first adjacent region and an adjacent region of the second pixel of interest on the basis of pixel values in a region which belongs to the difference region and is formed from pixel values in the scan direction and in the direction perpendicular to the scan direction, and holding an analysis result; and obtaining the correction condition for the second pixel of interest from the analysis result of the region belonging to the adjacent region of the second pixel of interest and correcting the second pixel of interest using the image correction condition.
 2. An image processing apparatus for performing color matching by using a human color appearance model, comprising: an input section, arranged to input a distance between an image and a viewer, and a resolution of the image; and a processor, arranged to define regions based on a plurality of field angles with respect to a pixel of interest on the image, on the basis of the input distance and resolution, thereby performing color matching, wherein said processor performs arithmetic operation for a difference region between the regions based on the plurality of field angles, which are generated by moving the pixel of interest, to obtain an arithmetic result for the regions based on the plurality of field angles after movement of the pixel of interest.
 3. The apparatus according to claim 2, wherein at least 2°, 4°, and 10° are used as the plurality of field angles.
 4. The apparatus according to claim 2, wherein said processor approximates circular regions corresponding to the plurality of field angles to square regions to increase the speed of processing in the regions.
 5. The apparatus according to claim 2, wherein said processor determines a viewing condition parameter for the pixel of interest by using pixel values of regions corresponding to the plurality of field angles.
 6. The apparatus according to claim 2, wherein on the basis of the uniformity of the image within the field angle of a color chip in the human color appearance model, said processor employs a parameter selected from the group consisting of “larger than the field angle of the color chips” or “not more than the field angle of the color chip” as an average surrounding viewing condition parameter.
 7. The apparatus according to claim 2, wherein said processor sets the average relative luminance of a background region with respect to the pixel of interest as a viewing condition parameter for the pixel of interest.
 8. The apparatus according to claim 2, wherein said processor increases a speed of processing performed near an edge of the image by setting a specific value for omitted pixels in an adjacent region and a background region.
 9. The apparatus according to claim 8, wherein the specific value is selected from the group consisting of a luminance of 100%, a luminance of 20%, and the relative luminance of a surrounding region.
 10. The apparatus according to claim 2, wherein said processor determines a viewing condition parameter for each object on a vector image by using the ranges of regions corresponding to the plurality of field angles.
 11. The apparatus according to claim 2, further comprising a sensor, arranged to measure the distance between the image and the viewer.
 12. The apparatus according to claim 2, further comprising an interface, arranged to input the distance between the image and the viewer.
 13. The apparatus according to claim 2, further comprising an interface, arranged to input the relative luminance of a portion selected from the group consisting of the edge and the frame of the image.
 14. An image processing method of performing color matching by using a human color appearance model, comprising the steps of: inputting a distance between an image and a viewer, and a resolution of the image; and defining regions based on a plurality of field angles with respect to a pixel of interest on the image, on the basis of the input distance and resolution, thereby performing color matching.
 15. The method according to claim 14, further comprising the step of, in performing color matching, performing arithmetic operation for a difference region between the regions based on the plurality of field angles, which are generated by moving the pixel of interest, to obtain an arithmetic result for the regions based on the plurality of field angles after movement of the pixel of interest.
 16. A computer program product storing a computer readable medium comprising a computer program code, for an image processing method of analyzing a pixel value of a pixel of interest and pixel values in an adjacent region of the pixel of interest, which is formed by neighboring pixels of the pixel of interest, and setting an image correction condition, comprising process procedure code for: dividing an adjacent region of a first pixel of interest into a plurality of regions formed from pixel values in a scan direction and in a direction perpendicular to the scan direction, analyzing the pixel values in each of the divided regions, and holding an analysis result for each of the divided regions; obtaining an image correction condition for the first pixel of interest from the analysis result of each divided region belonging to the adjacent region of the first pixel of interest and correcting the first pixel of interest using the image correction condition; to obtain an image correction condition for a second pixel of interest moved from the first pixel of interest in the scan direction, executing analysis for a difference region between the first adjacent region and an adjacent region of the second pixel of interest on the basis of pixel values in a region which belongs to the difference region and is formed from pixel values in the scan direction and in the direction perpendicular to the scan direction, and holding an analysis result; and obtaining the correction condition for the second pixel of interest from the analysis result of the region belonging to the adjacent region of the second pixel of interest and correcting the second pixel of interest using the image correction condition.
 17. A computer program product storing a computer readable medium comprising a computer program code, for an image processing method of performing color matching by using a human color appearance model, comprising process procedure code for: inputting a distance between an image and a viewer, and a resolution of the image; and defining regions based on a plurality of field angles with respect to a pixel of interest on the image, on the basis of the input distance and resolution, thereby performing color matching.
 18. The product according to claim 17, further comprising process procedure code for, in performing color matching, performing arithmetic operation for a difference region between the regions based on the plurality of field angles, which are generated by moving the pixel of interest, to obtain an arithmetic result for the regions based on the plurality of field angles after movement of the pixel of interest. 